using System;
using System.Runtime.Serialization;

namespace ActionService.DataTransferObjects
{
    /// <summary>
    /// Customer Data Transfer Object.
    /// 
    /// The purpose of the CustomerTransferObject is to facilitate transport of 
    /// customer business data in a serializable format. Business data is kept in 
    /// publicly accessible auto properties. This class has no methods. 
    /// </summary>
    /// <remarks>
    /// Pattern: Data Transfer Objects.
    /// 
    /// Data Transfer Objects are objects that transfer data between processes, but without behavior.
    /// </remarks>
    [DataContract(Name = "Customer", Namespace = "http://www.yourcompany.com/types/")]
    public class CustomerDto
    {
        /// <summary>
        /// Unique customer identifier.
        /// The Identity Field Design Pattern. 
        /// </summary>
        
        [DataMember]
        public int CustomerId { get; set; }

        [DataMember]
        public string CompanyName { get; set; }

        [DataMember]
        public string Name { get; set; }

        [DataMember]
        public int City { get; set; }

        [DataMember]
        public int Country { get; set; }

        [DataMember]
        public string UserName { get; set; }

        [DataMember]
        public string Password { get; set; }

        [DataMember]
        public string Email { get; set; }

        [DataMember]
        public string Telephone { get; set; }

        [DataMember]
        public string MobilePhone { get; set; }

        [DataMember]
        public string YahooId { get; set; }

        [DataMember]
        public string SkypeId { get; set; }

        [DataMember]
        public string GoogleId { get; set; }

        [DataMember]
        public string FacebookId { get; set; }

        [DataMember]
        public int Status { get; set; }
    }
}